package com.luckynote.common.base.util;

import java.util.Random;
import java.util.UUID;

/**
 * <pre>
 * *********************************************
 * Copyright LUCKY-NOTE.
 * All rights reserved.
 * ****************************************************
 *  Version       Date         Author            Desc
 *    v1.0       2019/6/29      bingo           字符串相关工具类
 * ****************************************************
 * </pre>
 */
public class StringUtil {

    /**
     * 判断字符串是否为空
     * @param str 判断的字符串
     * @return 是或否
     */
    public static boolean isEmptyString(String str){
        if(str == null || "".equals(str.trim())){
            return true;
        }
        return false;
    }


    /**
     * 判断字符串是否不为空
     * @param str 判断的字符串
     * @return 是或否
     */
    public static boolean isNotEmptyString(String str){
        return !isEmptyString(str);
    }

    /**
     * 生成UUID 无 "-" 连接
     * @return 返回UUID
     */
    public static String UUID(){
        return UUID.randomUUID().toString().replaceAll("-","").toUpperCase();
    }

    public static int random(int numLenth){
        if(numLenth < 1){
            throw new RuntimeException("输入的随机数长度必须大于等于1");
        }
        int bound = 1;
        for (int i = 0; i < numLenth; i++) {
            bound *= 10;
        }
        int result = new Random().nextInt(bound);
        if(result < (bound/10)){
            //递归
            StringUtil.random(numLenth);
        }
        return result;
    }

    /**
     * 生成的随机数以字符串返回
     * @param numLength  需要生成的数值长度
     * @return  字符串
     */
    public static String randomNumToStr(int numLength){
        return String.valueOf(random(numLength));
    }

}
